Method and apparatus for generating m-degree forms in a n-dimension space

ABSTRACT

A method and apparatus is disclosed for generating a m-degree form in a n-dimension space. A framework is used to generate the form. The framework comprises a defined number of sections, lines and control points depending on the complexity of the form to generate. An iterative solving process is then used in order to provide the algebraic coefficients of the m-degree form using at least data related to the control points.

FIELD OF THE INVENTION

[0001] The invention pertains to the field of computer graphics and moreprecisely to the field of modeling forms.

BACKGROUND OF THE INVENTION

[0002] The representation of objects in space is not a new art. For manycenturies, people have tried to represent forms or shapes in space forvarious purposes ranging from Architecture to Art. Most modern computergraphics systems use a very simple representation of forms, namelypolygons that are combined in great numbers to compose complex 3D forms.Polygons are mathematically very simple to specify and to use in thegeneration of the display output.

[0003] A form may be represented by a surface in two different ways.

[0004] A first way to represent a form is by using a parametric surface.Parametric surfaces comprises, for instance, Bezier curves, Splines,nonuniform rational B-splines (NURBS), etc. This first way to representforms is widely used by computers, and in fact, the parametric surfacesare linked to the base polygon structure of the form. However, it willbe appreciated that these surfaces are approximation. To overcome suchlimitations, it is possible to combine a plurality of parametricsurfaces to represent a more complex form.

[0005] A person skilled in the art will appreciate the fact that such anapproach is resource intensive. Using such simplified “primitives” tobuild a representation of a complex object required a great deal ofspecification for an object, and also requires significant dataprocessing and management to create and display forms. It will also beappreciated that such an approach provides often only an approximationof the form. This is particularly the case when a complex form must becreated. When such a form is magnified, the boundaries between theprimitives are often noticeable.

[0006] A second way to represent the form is by using implicit surfaces.Implicit surfaces may be either of the algebraic form or of thegeometric form as explained in Introduction to Implicit surfaces byChandrajit Bajaj et al and published by Morgan Kaufmann Publishers, Inc,the specification of which is enclosed by reference.

[0007] For instance, a sphere centered at the origin can be defined inan algebraic form using its algebraic equation, x{circumflex over( )}2+y{circumflex over ( )}2+z{circumflex over ( )}2=r{circumflex over( )}2, and the size of the sphere determined by setting the value of itsradius ‘r’. The algebraic equation for a sphere having its center atcoordinates (a,b,c) is (x−a){circumflex over ( )}2+(y−b){circumflex over( )}2+(z−c){circumflex over ( )}2=r{circumflex over ( )}2. A sphere isdefined in the geometric form using geometric properties. In thisparticular case, the radius and the center are used to uniquely definethe surface. When a substantial portion of a form is represented by analgebraic expression, detail is not lost when the form is displayed withgreat magnification. In the case of a sphere, it will also beappreciated that the form is represented by four values, namely a,b,c,r,while a parametric expression based on Bezier primitives would require amuch larger number of components to define the form.

[0008] A person skilled in the art will note that it is actually verydifficult to provide an equation for a high order surface used torepresent a complex form in general. While a general equation can beused for a sphere, it is a challenge to provide a general system able toprovide an algebraic expression for a form as defined by its geometricproperties, such as center and radius. In most cases, the derivation ofthe algebraic equation corresponding to a form defined by geometricproperties is not only computationally complex and time consuming, butalso unpredictable and unstable, namely the algorithms lead tounsolvable equations. While a combination of more simple algebraic formsmay be used to create a shape representing the form, it will beappreciated that such way is not efficient as it is also highly resourceintensive. As a consequence, a transfer of data related to a shaperepresenting a form requires a large bandwidth. It will also beappreciated that it is usually not possible to have an idea of the shapewhen an algebraic form is used.

[0009] Applicant, Jean Francois Rotgé, demonstrated in his thesis“L'Arithmetique des Formes: Une introduction à la logique de l'espace”,Chapter 5 how to define second order 3D surfaces by their geometricproperties. The approach demonstrated in the thesis is not generallyknown or applied in the art of computer graphics, and is based onmathematics that cannot be extended to higher orders. Second orderforms, such as spheres, ellipsoids, hyperboloids and the like are ofrelative simplicity in comparison to higher order forms. By combiningsuch second order surfaces, it is possible to generate a shape forrepresenting a complex form. Unfortunately, since the method isrestricted to the second order, it is of limited value for modelingcomplex objects.

[0010] In view of the above, there is a need for a method and apparatusthat will overcome the above-identified drawbacks.

SUMMARY OF THE INVENTION

[0011] It is an object of the invention to provide a method andapparatus for determining the algebraic coefficients of a fixed m-degreeform in an n-dimension space for improved display in a computer graphicssystem. Preferably, m is greater than 2, and typically n is three. Inthe case of four dimensional forms, the fourth dimension is preferablytime, and the displayed forms can thus be animated.

[0012] It is another object of the invention to provide a method andapparatus for determining the algebraic coefficients of a plurality ofm-degree forms in an n-dimension space used to generate a complex formfor improved display of the complex form in a computer graphics system.

[0013] It is another object of the invention to provide a method andapparatus for determining the algebraic coefficients of a fixed m-degreeform in an n-dimension space for improved display in a computer graphicssystem and that will operate using integer operations.

[0014] Yet another object of the invention is to provide a framework forgenerating a m-degree form.

[0015] Yet another object of the invention is to provide a method andapparatus for enabling an operator to modify in a controlled manner ashape in an interactive manner and to provide data identifying themodified shape.

[0016] Yet another object of the invention is to provide a method andapparatus for enabling a user to modify an m-degree form in ann-dimension space in a flexible way.

[0017] According to one broad aspect of the invention, there is provideda computer graphics design system having an interface for defining adesired 3D form by geometric properties, means for converting thegeometric properties into an algebraic expression of order greater thantwo representing the desired form, and means for providing a graphicsoutput of the form using the algebraic expression, wherein the means forconverting are stable for all possible geometric properties.

[0018] According to another broad aspect of the invention, there isprovided a computer graphics design system having a user interface fordefining a desired 3D form by geometric properties using a referencesimplex imposing constraints on values defining the geometricproperties, means for converting the geometric properties into analgebraic expression of order greater than two representing the desiredform, means for providing a graphics output of the form using thealgebraic expression, and means for adjusting the reference simplex withrespect to the desired form to facilitate further definition of the formusing the reference simplex as adjusted.

[0019] According to an aspect of the invention, there is provided amethod for generating an m-degree form using algebraic coefficients ofan equation defining the m-degree form in an n-dimension space using aplurality of points defining the form, the method comprising the stepsof providing a framework, comprising more than one geometric surface,each of the more than one geometric surface comprising at least oneline, each of the at least one line comprising at least one point of theplurality of points, providing a solving equation using the equationdefining the m-degree form, the solving equation depending on at leastthree points, for each of the plurality of points, generating acorresponding equation by applying the solving equation to each of theplurality of points and two points located on one of the more than onegeometric surface, the two selected points defining the line of theframework where each of the plurality of points is, resolving thegenerated corresponding equations in an iterative manner to provide thealgebraic coefficients of the m-degree form; the iterative mannerconsisting in handling the generated equation using each of theplurality of points in a certain order, the certain order consisting inselecting the generated corresponding equation corresponding to a pointlocated on the line having the highest number of points on it and theline located in the at least one geometric surface of the frameworkwhere there is the highest number of lines on it and generating them-degree form using the provided algebraic coefficients of the m-degreeform.

[0020] According to another object of the invention, there is providedan apparatus for generating a m-degree form using algebraic coefficientsof an equation defining the m-degree form in an n-dimension space usinga plurality of points defining the form, the apparatus comprising anobject memory, comprising more than one geometric surface, each of themore than one geometric surface comprising at least one line, each ofthe at least one line comprising at least one point of the plurality ofpoints, a control point to algebraic converter unit receiving each ofthe plurality of points and a solving equation defined using theequation defining the m-degree form and depending on at least threepoints, the control point to algebraic converter unit generating acorresponding equation by applying the solving equation to each of theplurality of points and two points located on one of the more than onegeometric surface, the two selected points defining the line of theframework where each of the plurality of points is and resolving thegenerated corresponding equations in an iterative manner to provide thealgebraic coefficients of the m-degree form; the iterative mannerconsisting in handling the generated equation using each of theplurality of points in a certain order, the certain order consisting inselecting the generated corresponding equation corresponding to a pointlocated on the line having the highest number of points on it and theline located in the at least one geometric surface of the frameworkwhere there is the highest number of lines on it, and an outputtingunit, receiving the provided algebraic coefficients of the m-degree formand generating the m-degree form.

[0021] According to another object of the invention, there is provided Amethod for monitoring a deformation of an m-degree form using algebraiccoefficients of an equation defining the m-degree form in an n-dimensionspace using a plurality of points defining the form, the methodcomprising the steps of providing a framework in accordance with amodification of a form planned, the framework comprising more than onegeometric surface, each of the more than one geometric surfacecomprising at least one line, each of the at least one line comprisingat least one point of the plurality of points, modifying at least onepart of the provided framework in accordance with the modification ofthe form planned, providing a solving equation using the equationdefining the m-degree form, the solving equation depending on at leastthree points, for each of the plurality of points, generating acorresponding equation by applying the solving equation to each of theplurality of points and two points located on one of the more than onegeometric surface, the two selected points defining the line of theframework where each of the plurality of points is, resolving thegenerated corresponding equations in an iterative manner to provide thealgebraic coefficients of the m-degree modified form; the iterativemanner consisting in handling the generated equation using each of theplurality of points in a certain order, the certain order consisting inselecting the generated corresponding equation corresponding to a pointlocated on the line having the highest number of points on it and theline located in the at least one geometric surface of the frameworkwhere there is the highest number of lines on it and outputting thealgebraic coefficients of the modified form.

BRIEF DESCRIPTION OF THE DRAWINGS

[0022]FIG. 1a is a diagram which shows a point in Cartesian geometry;

[0023]FIG. 1b is a diagram which shows a point with a reference simplexin projective geometry;

[0024]FIG. 2 is a diagram which shows a quadric in a two-dimension spacewith a reference simplex; four intersection points are necessary tofully define the quadric;

[0025]FIG. 3 shows how a polar point is created using a relatednon-polar point in one embodiment;

[0026]FIG. 4a shows the number of geometric conditions necessary for aquadric in a 3-dimension space; in this embodiment of the invention,three sections are defined and a fixed number of lines and points isintroduced for each defined section;

[0027]FIG. 4b shows the number of geometric conditions necessary for acubic in a 3-dimension space; in this embodiment of the invention, foursections are defined and a fixed number of lines and points isintroduced for each defined section;

[0028]FIG. 4c shows the number of geometric conditions necessary for aquartic in a 3-dimension space; in this embodiment of the invention,five sections are defined and a fixed number of lines and points isintroduced for each defined section;

[0029]FIG. 5a shows a first embodiment of the sections for defining acyclid using a quartic;

[0030]FIG. 5b shows a second embodiment of the sections for defining acyclid using a quartic;

[0031]FIG. 6 is a block diagram which shows each component of thepreferred embodiment of the invention;

[0032]FIG. 7 is a flow chart which shows the various steps performed inthe preferred embodiment of the invention; according to a first step,data about a form is provided; then according to a second step, controlpoints of the form are modified; then according to a third step, thealgebraic coefficients of the modified form are computed;

[0033]FIG. 8 is a flow chart which shows another embodiment of how dataabout a form is provided; in this embodiment data is provided usingexisting control points;

[0034]FIG. 9 is a flow chart which shows another alternative embodimentof how data about a form is provided; in this other alternativeembodiment, data is provided using an existing algebraic equation, theexisting algebraic equation is then converted into control points;

[0035]FIG. 10 is a flow chart which shows another alternative embodimentof how data about a form is provided; in this other alternativeembodiment, data is provided using an existing form;

[0036]FIG. 11 is a flow chart which shows another alternative embodimentof how data about a form is provided; in this other alternativeembodiment, data is provided in an hybrid way using both algebraicinformation and geometric information;

[0037]FIG. 12 is a flow chart which shows another embodiment of how dataabout a form is provided; in this embodiment, data is provided usingcontrol points that are inputted in the preferred embodiment of theinvention using sections;

[0038]FIG. 13 is a flow chart which shows how algebraic coefficientsthat define the form are computed using the control points of the form;

[0039]FIG. 14 is a flow chart that shows how polar points are computedusing at least the non-polar points;

[0040]FIG. 15 is a flow chart which shows how control points are movedon a line;

[0041]FIG. 16 is a flow chart which shows how lines are moved;

[0042]FIG. 17 is a screenshot of a first quadric;

[0043]FIG. 18 is a screenshot which shows three sections of the firstquadric, the control points and the reference simplex;

[0044]FIG. 19 is a screenshot which shows the quadric, three sections ofthe first quadric, the control points and the reference simplex;

[0045]FIG. 20 is a screenshot of a second quadric;

[0046]FIG. 21 is a screenshot which shows three sections of the secondquadric, the control points and the reference simplex;

[0047]FIG. 22 is a screenshot which shows the second quadric, threesections of the second quadric, the control points and the referencesimplex;

[0048]FIG. 23 is a screenshot of a third quadric;

[0049]FIG. 24 is a screenshot which shows three sections of the thirdquadric, the control points and the reference simplex;

[0050]FIG. 25 is a screenshot which shows the third quadric, threesections of the third quadric, the control points and the referencesimplex;

[0051]FIG. 26 is a screenshot of a fourth quadric;

[0052]FIG. 27 is a screenshot which shows three sections of the fourthquadric, the control points and the reference simplex;

[0053]FIG. 28 is a screenshot which shows the fourth quadric, threesections of the fourth quadric, the control points and the referencesimplex;

[0054]FIG. 29 is a flow chart which shows the steps performed in orderto generate the algebraic coefficients when the expression of thecoefficient is known;

[0055]FIG. 30 is a diagram which shows how π₀, π₁, π₂, π₃ areintroduced;

[0056]FIG. 31 is a diagram which shows the different sections used for aquartic and how the different sections used are located with respect tothe reference simplex in the preferred embodiment of the invention;

[0057]FIG. 32 is a flow chart which shows how the equation is provided;

[0058]FIG. 33 is a flow chart which shows the steps performed in orderto find out the expression of the coefficients;

[0059]FIG. 34a is a table which provide the algebraic equation of aquadric;

[0060]FIG. 34b is a table which provide the algebraic equation of aquartic;

[0061]FIG. 35 is a screenshot which shows 5 sections of the quartic;

[0062]FIG. 36 is a screenshot which shows the quartic with 15 lines;

[0063]FIG. 37 is a screenshot which shows a first section of thequartic; the first section comprises 5 lines;

[0064]FIG. 38 is a screenshot which shows a second section of thequartic; the second section comprises 4 lines;

[0065]FIG. 39 is a screenshot which shows a third section of thequartic; the third section comprises 3 lines;

[0066]FIG. 40 is a screenshot which shows a fourth section of thequartic; the fourth section comprises 2 lines;

[0067]FIG. 41 is a screenshot which shows a fifth section of thequartic; the fifth section comprises 1 line;

[0068]FIG. 42 shows equation system Eq. 2;

[0069]FIG. 43 shows equation system Eq. 3;

[0070]FIG. 44 shows equation system Eq. 5;

[0071]FIG. 45 shows equation system Eq. 7;

[0072]FIG. 46 shows equation system Eq. 8;

[0073]FIG. 47 shows equation system Eq. 10;

[0074]FIG. 48 shows equation system Eq. 11;

[0075]FIG. 49 shows equation system Eq. 14;

[0076]FIG. 50 shows equation system Eq. 17;

[0077]FIG. 51 shows equation system Eq. 19;

[0078]FIG. 52 shows equation system Eq. 21;

[0079]FIG. 53 shows equation system Eq. 23;

[0080]FIG. 54 shows equation system Eq. 24;

[0081]FIG. 55 shows equation system Eq. 27;

[0082]FIG. 56A shows equation system Eq. 29;

[0083]FIG. 56B shows equation system Eq. 31;

[0084]FIG. 56C shows equation system Eq. 33;

[0085]FIG. 56D shows equation system Eq. 35;

[0086]FIG. 57 shows equation system Eq. 36;

[0087]FIG. 58 shows equation system Eq. 38;

[0088]FIG. 59 shows equation system Eq. 40;

[0089]FIG. 60 shows equation system Eq. 42;

[0090]FIG. 61A shows equation system Eq. 44;

[0091]FIG. 61B shows equation system Eq. 46;

[0092]FIG. 61C shows equation system Eq. 48;

[0093]FIG. 62 shows equation system Eq. 49;

[0094]FIG. 63 shows equation system Eq. 53;

[0095]FIG. 64A shows equation system Eq. 55;

[0096]FIG. 64B shows equation system Eq. 57;

[0097]FIG. 65 shows equation system Eq. 60;

[0098]FIG. 66 is a table which shows the parameters characterizing aline for a polarity of degree 1, 2 and 3 for an algebraic surface ofdegree 2, 3 and 4.

[0099]FIG. 67 is a screenshot which shows a quartic together with apolar point located on a polar surface of degree 1 and a non-polarpoint;

[0100]FIG. 68 is a screenshot which shows a quartic together with twopolar points located on a polar surface of degree 2 and a non-polarpoint;

[0101]FIG. 69 is a screenshot which shows a quartic together with threepolar points located on a polar surface of degree 3 and a non-polarpoint;

[0102]FIG. 70 shows a decomposition of a determinant into a sum ofminors;

[0103]FIG. 71 shows a decomposition of a determinant into a sum ofminors in the case of a quartic;

[0104]FIG. 72 shows 10 2×2 minors;

[0105]FIG. 73 shows 10 3×3 minors; and

[0106]FIG. 74 shows 5 4×4 minors.

PREFERRED EMBODIMENT OF THE INVENTION

[0107] Brief introduction to projective geometry

[0108] The origin of projective geometry is found in the work of Pappusand Gerard Désargue. It became a discipline with the work of J. V.Poncelet (1822) and was placed on an axiomatic basis by K. G. C. VonStaudt (1847). Mathematicians adopted the pure or synthetic approach inwhich algebraic and analytic methods are avoided and the treatment ispurely geometric.

[0109] It is well known, by someone skilled in the art, that a surfaceof m degree in n dimension has a number N_(C) of algebraic coefficientswhich is equal to:$N_{C} = {{\prod\limits_{i = 1}^{n}\quad \frac{\left( {m + i} \right)}{i}} = \begin{pmatrix}{{m + n}} \\{n}\end{pmatrix}}$

[0110] The number of geometric conditions N_(G) that define the surfaceis equal to:$N_{G} = {{{\prod\limits_{i = 1}^{n}\quad \frac{\left( {m + i} \right)}{i}} - 1} = {\begin{pmatrix}{{m + n}} \\{n}\end{pmatrix} - 1}}$

[0111] A surface of m degree in 3 dimensions has a number of algebraiccoefficient N_(C) which is therefore equal to:$N_{C} = \frac{\left( {m + 1} \right) \cdot \left( {m + 2} \right) \cdot \left( {m + 3} \right)}{1 \cdot 2 \cdot 3}$

[0112] For a quadric m=2, N_(C)=10 while in the case of a quartic, m=4,N_(C)=35.

[0113] The number of geometric conditions N_(G) required is equal to:$N_{G} = {\frac{\left( {m + 1} \right) \cdot \left( {m + 2} \right) \cdot \left( {m + 3} \right)}{1 \cdot 2 \cdot 3} - 1.}$

[0114] Therefore, 9 geometric conditions are required for a quadric in 3dimensions. 34 geometric conditions are required for a quartic in 3dimensions. The geometric conditions required will be inputted in acertain way in the preferred embodiment of the invention and asdescribed below.

[0115] Now referring to FIG. 1a, there is shown a point M in areferential in Euclidean geometry. The point M is characterized by threecoordinates which are, in the example (2,1,1); being respectively the x,y and z coordinate of the referential.

[0116] Now referring to FIG. 1b, there is shown the point M with itsreference simplex. In projective geometry, a reference simplex in 3dimensions comprises 4 points. The point M has 4 coordinates in such areference simplex.

[0117] It is possible to express the coordinates of a point in aprojective space from an Euclidean space using a transfer matrix. It ispossible to express the coordinates of a point in an Euclidean spacefrom a projective space using the inverse of the transfer matrix.

[0118] In a 2-dimension Euclidian space, if a point M has coordinates xand y (M(x,y)) in the Euclidean space, M will have a third coordinate inthe projective plane. More generally, a point in an n-dimensionalEuclidean space is represented as a point in an (n+1)-dimensionalprojective space.

[0119] M(x,y,1) is the expression of the point M in the projectiveplane. In projective space, overall scaling is unimportant, therefore(x,y,1)=(a·x,a·y,a·z). However a=0 is avoided. As scaling isunimportant, (x,y,z) are called the homogeneous coordinates of thepoint. In order to transform the expression of a point expressed inprojective space, back in the Euclidean space, a division is performedof the coordinates by the scaling factor. At this point, it is importantto note that the projective plane comprises more points than theEuclidean space.

[0120] For instance the points whose last coordinate in the projectivespace is at zero. These points are called ideal points or point atinfinity. All the ideal points lie on a line which is called the idealline or the line at infinity. In two dimensions, the line is representedby (0,0,1).

[0121] Now referring to FIG. 2, there is shown a conic in a 2-dimensionspace. The conic is defined using 5 geometric conditions:$N_{G} = {{\begin{pmatrix}{{2 + 2}} \\{2}\end{pmatrix} - 1} = 5.}$

[0122] A reference simplex is first chosen. The geometric conditions arethen entered using an entity defined as a control point. As willunderstand someone skilled in the art, the geometric conditions may beinputted using other type of information.

[0123] A point is usually defined as the intersection of a curve withanother line that would be, in this case, the pencil of line.

[0124] In order to extend the concept of points, the control points maybe divided, in the preferred embodiment of the invention, into non-polarpoints and polar points. It will be appreciated that curves such asLamé's curve cannot be defined using conventional intersection points.

[0125] Now referring to FIG. 3, there is shown a polar point and arelated non-polar point for a conic, in a 2-dimension space.

[0126] According to a first step, a non-polar point is chosen on thepencil of line. According to a second step, this non-polar point becomesthe intersection of two tangential lines to the surface. According to athird step, the intersection of the two contacts created by the twotangential lines becomes the polar line. The polar point is defined asthe intersection of the polar line with the pencil of line. It will beappreciated by someone skilled in the art that the polar point and thenon-polar point are merged when the pencil of line is tangent to theshape. Therefore, the whole concept of intersection is generalized withthe use of the polar and the non-polar points. Imaginary points aretherefore not used in the preferred embodiment of the invention.

[0127] A polar and a related non-polar point define a geometriccondition. In the case of a quadric in two dimensions, 5 geometricconditions are necessary. 10 control points may be used to provide these5 geometric conditions. The 10 control points comprise 5 non-polarpoints and their 5 related polar points. Alternatively, 5 intersectionpoints could have been provided in order to satisfy the requirement forthe 5 geometric conditions.

[0128] In the case of a quadric in 3 dimensions, the number of geometricconditions is equal to $N_{G} = {{\begin{pmatrix}{{2 + 3}} \\{3}\end{pmatrix} - 1} = 9.}$

[0129] In the preferred embodiment of the invention, 18 control pointsare provided, 9 of which are non-polar points, the other 9 being therelated polar points of the 9 first non-polar points. It will beappreciated that non-polar and polar points allow the user to set thepencil in a place of interest. Advantage will be used of the techniqueas described above.

[0130] In the case of a quartic in 3 dimensions, the number of geometricconditions is equal to: $N_{G} = {{\begin{pmatrix}{{4 + 3}} \\{3}\end{pmatrix} - 1} = 34}$

[0131] In the preferred embodiment of the invention, 68 control pointsare provided, 34 control points of which are non-polar points, the other34 points, being the related polar points of the 34 first non-polarpoints.

[0132] It will be appreciated by someone skilled in the art that thesurface that defines the polar plane is a n−1 degree shape, if the shapehas a degree n.

[0133] In order to be able to identify the algebraic coefficients of ashape using the information provided by the control points, it isimportant to group the information provided by the control points.

[0134] In the preferred embodiment of the invention, sections aredefined to group the control points in order to enable an iterativesolving process using the geometric conditions provided.

[0135] At this point, it is important to understand how a number ofsections is determined, in the preferred embodiment of the invention.The number of geometric conditions determines the number of sections.

[0136] Now referring to the Pascal triangle, it is known that:${\sum\limits_{S = 0}^{S = m}\begin{pmatrix}{{n - 1 + s}} \\{{n - 1}}\end{pmatrix}} = \begin{pmatrix}{{m + n}} \\{n}\end{pmatrix}$

[0137] wherein m is the degree of the surface and n is the dimensionspace number.

[0138] Preferably the number of sections is defined by:${{Card}\left( {\sum\limits_{S = 0}^{S = m}\begin{pmatrix}{{n - 1 + s}} \\{{n - 1}}\end{pmatrix}} \right)} = {m + 1.}$

[0139] Now referring back to the following equation:${{\sum\limits_{S = 0}^{S = m}\begin{pmatrix}{{n - 1 + s}} \\{{n - 1}}\end{pmatrix}} = \begin{pmatrix}{{m + n}} \\{n}\end{pmatrix}},$

[0140] It is possible to identify the m+1 sections and to break them upinto another element. In the preferred embodiment of the invention, eachsection is further broken up into lines. $\begin{matrix}{{\begin{pmatrix}{n - 1} \\{n - 1}\end{pmatrix} + \begin{pmatrix}{{n - 1 + 1}} \\{{n - 1}}\end{pmatrix} + \ldots + \begin{pmatrix}{{n + m - 1}} \\{{n - 1}}\end{pmatrix}} = {{\sum\limits_{S = 0}^{S = m}\begin{pmatrix}{{n - 1 + s}} \\{{n - 1}}\end{pmatrix}} = \begin{pmatrix}{{m + n}} \\{n}\end{pmatrix}}} \\{{1 + {\sum\limits_{S = 0}^{S = 1}\begin{pmatrix}{{n - 2 + s}} \\{{n - 2}}\end{pmatrix}} + \ldots + {\sum\limits_{S = 0}^{S = m}\begin{pmatrix}{{n - 2 + s}} \\{{n - 2}}\end{pmatrix}}} = {{\sum\limits_{S = 0}^{S = m}\begin{pmatrix}{{n - 1 + s}} \\{{n - 1}}\end{pmatrix}} = \begin{pmatrix}{{m + n}} \\{n}\end{pmatrix}}}\end{matrix}$

[0141] The last equation shows that each section may be decomposed inlines. Each line comprises a certain number of control points. Forinstance, the first section S₁ defined by: $S_{1}:\begin{pmatrix}{n - 1} \\{n - 1}\end{pmatrix}$

[0142] comprises 1 line which has 2 control points, one of which is anon-polar point, the other one being the related polar point of thenon-polar point.

[0143] The second section S₂ defined by:$S_{2}:{\sum\limits_{S = 0}^{S = 1}\begin{pmatrix}{{n - 2 + s}} \\{{n - 2}}\end{pmatrix}}$

[0144] comprises 2 lines. The first line will provide $\begin{pmatrix}{n - 2} \\{n - 2}\end{pmatrix}\quad$

[0145] geometric conditions, i.e. it will comprise${2 \cdot \begin{pmatrix}{n - 2} \\{n - 2}\end{pmatrix}}\quad$

[0146] control points; half of which are non-polar points, the otherhalf being the related polar points of the first half.

[0147] The second line will provide $\begin{pmatrix}{{n - 2 + 1}} \\{{n - 2}}\end{pmatrix}\quad$

[0148] geometric conditions i.e. it will comprise${2 \cdot \begin{pmatrix}{{n - 2 + 1}} \\{{n - 2}}\end{pmatrix}}\quad$

[0149] control points; half of which are non-polar points, the otherhalf being the related polar points of the first half.

[0150] The S_(m+1) section defined by:$S_{m + 1}{\sum\limits_{S = 0}^{S = m}{\begin{pmatrix}{{n - 2 + s}} \\{{n - 2}}\end{pmatrix}\quad}}$

[0151] comprises m+1 lines. The first line of the section S_(m+1) willprovide $\begin{pmatrix}{{n - 2 + 0}} \\{{n - 2}}\end{pmatrix}\quad$

[0152] geometric conditions i.e. it will comprise${2 \cdot \begin{pmatrix}{{n - 2 + 0}} \\{{n - 2}}\end{pmatrix}}\quad$

[0153] control points; half of which are non-polar points, the otherhalf being the related polar points of the first half.

[0154] The second line of the section S_(m+1) will provide$\quad\begin{pmatrix}{n - 2 + 1} \\{{n - 2}}\end{pmatrix}$

[0155] geometric conditions i.e. it will comprise$2 \cdot \begin{pmatrix}{n - 2 + 1} \\{{n - 2}}\end{pmatrix}$

[0156] control points; half of which are non-polar points, the otherhalf being the related polar points of the first half.

[0157] The m+1 line of the section S_(m+1) will provide $\begin{pmatrix}{n - 2 + m} \\{{n - 2}}\end{pmatrix} - 1$

[0158] geometric conditions. It will be appreciated that 1 geometriccondition is subtracted from the total number. It will provide$2 \cdot \left( {\begin{pmatrix}{n - 2 + m} \\{{n - 2}}\end{pmatrix} - 1} \right)$

[0159] control points; half of which are non-polar points, the otherhalf being the related polar points of the first half.

[0160] In the preferred embodiment of the invention, the control pointsare provided to each section in a certain way. More precisely, thecontrol points are first provided to section S_(m+1), then the controlpoints are provided to section S_(m), to section S₁ and finally tosection S₀.

[0161] Now referring to FIG. 4a, there is shown the break up in lines ofeach section for the quadric in 3 dimensions. For instance, section S₃comprises 3 lines, the first line provides 2 geometric conditions using4 control points. The second line of section S₃ provides 2 geometricconditions using 4 control points. The third line of section S₃ provides1 geometric condition using 2 control points.

[0162] Now referring to FIG. 4b, there is shown the decomposition inline of each section for the cubic in 3 dimensions. For instance,section S₄ comprises 4 lines, the first line provides 3 geometricconditions using 6 control points. The second line of section S₄provides 3 geometric conditions using 6 control points. The third lineof section S₄ provides 2 geometric conditions using 4 control points.The fourth line of section S₄ provides 1 geometric condition using 2control points.

[0163] Now referring to FIG. 4c, there is shown the decomposition inline of each section for the quartic in 3 dimensions.

[0164] In the preferred embodiment, the user may provide the controlpoints using a graphics user interface. The graphics user interface islocated on a computer.

[0165] Using a mouse or any devices that allow to select a pixel on thescreen the user selects a pixel. The point selected is characterizedusing the coordinates of the pixel selected, in the preferredembodiment, the coordinates of the pixel comprise two integer elements.The coordinates of the pixel are then converted, in the preferredembodiment of the invention, into world coordinates, as known by someoneskilled in the art.

[0166] The conversion of the pixel coordinates into the worldcoordinates is performed using a multiplication by a matrix. In thepreferred embodiment, the world coordinates comprise three “float”values. Still in the preferred embodiment, the world coordinates arethen converted into projective homogeneous coordinates. The projectivehomogeneous coordinates are obtained by adding a new coordinate whichis 1. The new coordinate may be 0 in the case where it is desirable toexpress “infinity”.

[0167] The polar plane may be expressed by derivation of the equation ofthe surface with respect to each coordinate of the reference simplex.

[0168] Now referring to FIG. 5a, there is shown a first embodiment ofthe sections for defining a cyclid using a quartic.

[0169] Now referring to FIG. 5b, there is shown a second embodiment ofthe sections for defining a cyclid using a quartic.

[0170] More precisely, 5 sections are defined as explained in FIG. 4c.

[0171] It will be appreciated that 4 sections are necessary to define acubic as explained in FIG. 4b.

[0172] Now referring to FIG. 6, there is shown the preferred embodimentof the invention. The preferred embodiment of the invention comprises adatabase of equations 12, a database of forms 14, a basic form selectionunit 10, a form to control points converter 16, an algebraiccoefficients to control points converter 18, a section management unit20, a projective space object memory 22, a control points editor 24, acontrol points to algebraic coefficients converter 26, an outputinterface 28, a raytracer unit 30 and a graphics display 32.

[0173] The database of equations 12 comprises algebraic equations ofvarious forms. More precisely, the database of equations comprises thealgebraic coefficients of the algebraic equation of the form and anidentifier of the form. The form is selected using the identifier. Itwill be appreciated that the degree of the algebraic equation thatdefines the form is not limited to a certain value as explained below;therefore, this enables the generation of any types of form.

[0174] The database of forms 14 comprises, for each form, an identifierof a form and information about the form. The information about a formcomprises the control points that define the form. The information aboutthe form further comprises the reference simplex. In another embodiment,the information may be geometric information about the form such as theradius and the center in the case of the form being a sphere.

[0175] The basic form selection unit 10 enables a user to select datafrom at least the database of equations 12 and the database of forms 14and to provide the selected data to either the projective space objectmemory 22, if the selected data comprises control points and a referencesimplex, or to the form to control points converter 16, if the selecteddata comprises a form definition of the object, or to the algebraiccoefficients to control points converter 18, if the selected datacomprises the algebraic coefficients.

[0176] The form to control points converter 16 performs a conversion ofa form defined into control points. A converter is dedicated forconverting each type of form defined into control points. For instance,for a sphere, the form is defined by a radius and the coordinates of thecenter. The form to control points converter 16 converts theseinformations into a set of control points.

[0177] In the preferred embodiment, the user provides a referencesimplex in order to generate the control points. In another embodiment,a reference simplex is generated automatically by the form to controlpoints converter 16.

[0178] The algebraic coefficients to control points converter 18performs a conversion of the algebraic coefficients that define a forminto a set of control points that will define the form in a projectivespace. In the preferred embodiment, the user may provide a referencesimplex. The reference simplex will be generated with reference to thissimplex. In another embodiment of the invention, the reference simplexis generated automatically by the algebraic coefficients to controlpoints converter 18.

[0179] The section management unit 20 allows a user to create, edit ordelete a section of the projective space object memory 22. The sectionmanagement unit 20 may also use the algebraic coefficients when a userwishes to redefines new sections.

[0180] The projective space object memory 22 stores data of a form inprojective space. In the preferred embodiment of the invention, the dataof a form in the projective space object memory 22 comprises the controlpoints of the form as well as the reference simplex. The control pointscomprise polar and related non-polar points. The control points arelocated on lines of a line pencil and a subset of at least one linedefines a section as explained previously.

[0181] The control points editor 24 enables a user to create, edit ordelete control points. In the preferred embodiment of the invention, andas explained previously, the control points comprise polar and relatednon-polar points.

[0182] The control points to algebraic coefficients converter 26performs a conversion of the control points that define a form into thealgebraic coefficients which define the form. As control points arerelated to a reference simplex, the reference simplex is preferably alsoused to perform the conversion.

[0183] The output interface 28 receives the algebraic coefficients andprovides an interface in order to export the algebraic coefficients thatdefine the form.

[0184] A raytracing unit 30 receives the algebraic coefficients andprovides data to the graphics display 32.

[0185] The raytracing unit 30 operates under a principle described atpages 701 and 702 of the second edition of Computer Graphics principlesand practices by James D. Foley. Andries van Dam, Steven K. Feiner andJohn F. Hughes, published by Addison-Wesley, the specification of whichis incorporated by reference.

[0186] The graphics display 32 enables the user to visualize thegeometric form using a graphics interface. Preferably, the raytracingunit 30 further receive a point of view signal. In one embodiment of theinvention, the graphics display is performed under an i386 architecture,in another embodiment, the graphics display is performed under a MACarchitecture.

[0187] Now referring to FIG. 7, there is shown the preferred embodimentof the invention.

[0188] According to step 36 of the invention, data is provided about aform. In the preferred embodiment, the data provided comprises areference simplex and control points. The form is defined in aprojective space using the reference simplex and the control points.

[0189] Still referring to FIG. 7 of the application and according tostep 38 of the invention, the control points that define the form aremodified. It will be appreciated that a user may modify the controlpoints by only modifying the reference simplex.

[0190] According to step 40, the algebraic coefficients of the formdefined by the modified control points are computed using the modifiedcontrol points and the reference simplex. The algebraic coefficients ofthe form may be used to provide an Euclidean view of the object.

[0191] Now referring to FIG. 8, there is shown one embodiment of howdata is provided according to step 36 of the invention. In thisembodiment, and according to step 42, a form is selected in the databaseof forms 14. The form is selected by the basic form selection unit 10using an identifier. As explained previously, the information attachedto the identifier comprises the control points and the referencesimplex. According to step 44 of the invention, the control points andthe reference simplex are provided.

[0192] Now referring to FIG. 9, there is shown another embodiment of howdata is provided according to step 36. In this embodiment, and accordingto step 46, an algebraic equation is selected. The algebraic equation isselected depending on the form desired. The algebraic equation isselected by the basic form selection unit 10 in the database ofequations 12. According to step 48, the algebraic equation is convertedinto control points. The algebraic equation is converted using thealgebraic coefficients to control points converter 14. In the preferredembodiment, a reference simplex is provided by a user. In anotherembodiment, the reference simplex is automatically generated.

[0193] Now referring to FIG. 10, there is shown another embodiment ofhow data is provided according to step 36 of the invention. According tostep 50 of this embodiment, a geometric form is selected. The geometricform is selected using the basic form selection unit 10 and the databaseof forms 14. According to step 52 of FIG. 10, the geometric formselected is converted into control points using the form to controlpoints converter 16. In the preferred embodiment, a reference simplex isprovided by a user. In another embodiment, the reference simplex isautomatically generated. The control points generated will be generatedwith respect to this reference simplex.

[0194] Now referring to FIG. 11, there is shown another embodiment ofhow data is provided according to step 36 of the invention.

[0195] According to step 54, information about a first geometric section54 is provided. The information is provided using the basic formselection unit 10. The information may be the algebraic equation of thefirst geometric section; in this case, the algebraic equation is storedin the database of equations 12.

[0196] According to step 56, the other geometric sections and theircontrol points are created. In the preferred embodiment, the controlpoints are created using the control points editor 24. Still in thepreferred embodiment, the other geometric sections are created using thesection management unit 20. In the preferred embodiment, a referencesimplex is provided by a user. In another embodiment, the referencesimplex is automatically generated.

[0197] According to step 58, the control points of each sections areprovided with the reference simplex.

[0198] Now referring to FIG. 12, there is shown another embodiment ofhow data is provided according to step 36 of the invention. In thisembodiment, the data is created by the user.

[0199] According to step 60, a geometric section is created. In thepreferred embodiment, a reference simplex is provided by a user. Inanother embodiment, the reference simplex is automatically generated.The geometric section is created using the section management unit 20.According to step 62, the non-polar points, related to this section, areplaced using the control points editor 24. According to step 64, polarpoints related to this section are placed using the control pointseditor 24. Someone skilled in the art will appreciate that polar pointsmay be placed in the section created before the non-polar points.

[0200] Depending on the order of the form, a certain number of controlpoints is necessary for each section in order to represent the form asexplained before. According to step 66 of the invention, a check isperformed in order to check if all the necessary sections have beencreated. As explained, a certain number of section is necessary in orderto fully define a form. If all the necessary sections have not beenentered yet, steps 60, 62, and 64 are achieved another time.

[0201] If all the necessary sections have been created, the controlpoints are provided according to step 68. The control points comprisethe polar points and the non-polar points for each section. Thereference simplex is also provided, as control points are defined usingthis reference simplex.

[0202] Now referring to FIG. 13, there is shown how the control pointsthat define the form are converted into algebraic coefficients.

[0203] According to step 78, the control points and a reference simplexare provided.

[0204] According to step 80, a check is performed in order to find outif all the control points are available. If all the control points areavailable, and according to step 92 of FIG. 13, the algebraiccoefficients are computed. According to step 94 of FIG. 13, thealgebraic coefficients are provided.

[0205] According to step 84, the coordinates of the selected controlpoint are translated in one dimension using the extremities of thesegment where the control point is located. This step will be moredetailed below.

[0206] According to step 86, the expression in one dimension of theselected control point is stored.

[0207] Steps 82, 84, and 86 are performed for each available controlpoint.

[0208] Now referring to FIG. 14 and according to step 96, a referencesimplex is provided by the user. In another embodiment, the referencesimplex is generated automatically.

[0209] According to step 98, the non-polar points are provided by theuser. In the preferred embodiment, the non-polar points are providedusing the control points editor 24.

[0210] According to step 100, the expression of the polar plane iscomputed, the expression of the polar plane is computed using thealgebraic equation of the form as explained.

[0211] According to step 102, a test is performed in order to find outif at least one of the more than one non-polar points is available. Ifat least one of the more than one non-polar points is available, anavailable non-polar point is selected according to step 104.

[0212] According to step 106, the polar point of the selected non-polarpoint is computed using at least the expression of the polar plane.

[0213] If no non-polar point is available and according to step 108, thecontrol points as well as the reference simplex are provided.

[0214] Now referring to FIG. 15, there is shown how the control pointseditor operates.

[0215] According to step 140, a control point is selected. A polar pointas well as a non-polar point may be selected.

[0216] The control point is selected using the mouse on the userinterface in the preferred embodiment of the invention.

[0217] According to step 142 of the invention, the selected controlpoint is moved on the stencil line using the cursor of the mouse in thepreferred embodiment of the invention.

[0218] According to step 146, the new control point is provided. The newcontrol point may be a polar point as well as a non-polar point.

[0219] According to FIG. 16, there is shown how the section managementunit operates. In the preferred embodiment of the invention, a line isselected according to step 148 of the invention. The line is selectedusing the mouse and the click button.

[0220] According to step 150, the selected line is moved using the mouseand preferably a predetermined key.

[0221] According to step 152, the control points located on the line aswell as other dependent control points if any are updated.

[0222] According to step 154, the new control points are provided. Nowreferring to FIG. 17, there is shown a quadric in a 3-dimension space.

[0223] Now referring to FIG. 18, there is shown how the quadric has beencreated using the preferred embodiment of the invention. The quadric hasbeen created using a reference simplex, three sections defined, andcontrol points on each lines of a pencil of lines.

[0224] As explained previously, three sections were defined. The firstsection 156 is defined using lines 159 and 160 and 161. The secondsection 157 is defined using lines 162 and 163. The third line 158 isdefined using line 164. Control points are inserted on each line of thethree sections. As explained previously, and in the preferred embodimentof the invention, the first section 156 comprises three lines, the firstline 159 comprises 4 control points (as 2 geometric conditions arenecessary), the second line 161 of the first section 156 comprises 4control points (as 2 geometric conditions are necessary) and the thirdline 160 of the first section 156 comprises 2 control points (as 1geometric condition is necessary).

[0225] The first line 162 of the section second 157 comprises 4 controlpoints (as 2 geometric conditions are necessary), the second line 163 ofthe second section 157 comprises 2 control points (as 1 geometriccondition is necessary).

[0226] The first line 164 of the third section 158 comprises 2 controlpoints (as 1 geometric condition is necessary).

[0227]FIG. 19 shows the first quadric, shown in FIG. 18, superimposedwith the reference simplex and the control points.

[0228]FIG. 20 shows a second quadric.

[0229] Now referring to FIG. 21, there is shown the reference simplexand the control points that define the second quadric. In thisembodiment, three sections are also defined. It will be appreciated bythe reader that in this embodiment 7 non-polar control points are mergedwith their respective polar control points.

[0230] Now referring to FIG. 22, the user will appreciate that when thepolar control point and its related non-polar control point are merged,the resulting point is located on the surface of the quadric.

[0231] Now referring to FIG. 23, there is shown a third quadric. In thisthird example of a quadric, one point that defines the reference simplexwas sent to “infinity” as shown in FIG. 24. The same number of section,lines and control points is necessary. Sending a point to infinityenables the user to have access to new types of quadrics. FIG. 25 showsthe third quadric with the control points and the reference simplex.

[0232]FIG. 26 shows a fourth quadric. In this fourth example of quadric2 points that define the reference simplex were sent to “infinity” asshown in FIG. 27. This embodiment allows for instance to create asphere.

[0233]FIG. 28 shows the fourth quadric with the control points and thereference simplex.

[0234] Control Points to Algebraic Coefficient Converter

[0235] Now referring to FIG. 29, there is shown how the control pointsto algebraic coefficient converter 26 works. More precisely, there isshown how coefficients from the algebraic equation are determined usingthe control points entered by the user. As explained above, the controlpoints comprise polar and non-polar points in the preferred embodimentof the invention.

[0236] According to step 200 of FIG. 29, the simplex as well as thecontrol points are provided to the control points to the algebraiccoefficient converter 26.

[0237] As explained previously, the simplex as well as the controlpoints originate from the projective space object memory 22.

[0238] According to step 202 of FIG. 29, and in the preferred embodimentof the invention, λ,μ and ρ,σ are computed for the control points. Theλ,μ are used to designate a non-polar point while the ρ,σ are used todesignate a polar point.

[0239] Now referring to FIG. 30, there is shown the origin of the use ofthe λ,μ and the ρ,σ. So far, each control point may be introduced usingits four coordinates in the reference simplex (namely x₀,x₁,x₂,x₃).Using the mechanism explained below, each point will be introduced usingtwo coordinates, either the λ,μ or the ρ,σ depending if the controlpoint is a polar point or a non-polar point as explained above. Byperforming the following variable change:

[0240] x₀=μ·π₀

[0241] x₁=μ·π₁, it is possible to achieve the goal.

[0242] x₂λ·=π₂

[0243] x₃=λ·π₃

[0244] To achieve the goal, it is mandatory to provide two points thatwill define a line and therefore provide the π₀;π₁,π₂,π₃. Therefore, itis possible to express each control point, in one dimension, using twocoordinates, when two points forming the line where the control pointis, are defined. The person skilled in the art will note that suchscheme will provide an easy way to simplify the mechanism, as a point inany dimension is always located on a line.

[0245] Now referring to FIG. 31, there is shown the lines used, in thepreferred embodiment of the invention, in the case of the first and thesecond section (namely S₅ and S₄). Someone skilled in the art may useanother way to define the supporting line of a control point but it willbe noted that the scheme described in FIG. 31 enables an easy computingof the algebraic coefficients by introducing advantageoussimplifications. For instance, the coordinate π₃ will be equal to zerofor all points located in the section S₅ while the coordinate π₂ will beequal to zero for all points located in the section S₄.

[0246] Now, referring back to FIG. 29, and according to step 204, asection is selected. The section selected is the remaining section wherethere is the largest number of control points in the preferredembodiment of the invention. For instance, in the case of a quartic, thefirst section selected is the section S₅, which comprises 14 controlpoints, as shown in FIG. 4b.

[0247] According to step 206, a line and the corresponding controlpoints on the selected line are selected. The line selected, in thepreferred embodiment of the invention, is the remaining line where thereis the largest number of control points. For instance, line 1 is firstselected in the section S₅.

[0248] According to step 208, a check is then performed in order to findout if singularities are located with the point located on the selectedline. A singularity is defined as more than one control point having thesame spatial location. If such singularities are detected, acorresponding equation is used according to step 210; if no singularityis detected, the standard equation is used according to step 212.

[0249] According to step 214, a check is then performed in order to findout if all the lines where the control points are located have beenhandled. If this is the case, and according to step 216, thecoefficients computed and/or information are provided. The informationprovided may be in some cases equations.

[0250] According to step 218, a check is performed in order to find outif all the sections have been handled. If this is the case and accordingto step 220, the coefficients computed are provided. If this a sectionhas not been already handled, a new section is selected according tostep 204.

[0251] For instance, in the case of the quartic, the first sectionhandled is the section named S₅, the second section handled is thesection named S₄, the third section handled is the section S₃, thefourth section handled is S₂ and the last section handled is the sectionnamed S₁. When the first section S₅ is handled, the first line handledis line 1, the second line handled is line 2, the third line handled isline 3, the fourth line handled is line 4 and the fifth line handled isline 5. When the second section S₄ is handled, the first line handled isline 1, the second line handled is line 2, the third line handled isline 3, the fourth line handled is line 4. When the third section S₃ ishandled, the first line handled is line 1, the second line handled isline 2 and the third line handled is line 3. When the fourth section S₂is handled, the first line handled is line 1 and the second line handledis line 2. Finally, when the fifth section S₁ is handled, the linehandled is line 1.

[0252] Still in the case of the quartic, the first section will provide16 coefficients; the second section will provide 10 coefficients; thethird section will provide 3 coefficients and three equations that willbe used later; the fourth section will provide 4 coefficients and oneequation and the fifth section will provide the last 3 coefficients ofthe equation.

[0253] The person skilled in the art will note that the approachdeveloped above allows to work with any type of dimension as theinformation comprised in each control point is handled at the linelevel. However it is now important to understand how the standardequation and the corresponding equation used in step 210 and 212 to findout the coefficient are generated. The person skilled in the art will bethen able to find out the standard equation and the correspondingequation used in steps 210 and 212 and therefore be able to determinethe algebraic coefficients in any dimension.

[0254] General Principles Regarding the Method Used to Find out theStandard Equation and the Corresponding Equation

[0255] The user, via the user interface, may provide control points on aline as explained above, still as explained above, each control pointcomprises a polar and a non-polar point.

[0256] In order to find out the standard equation and the correspondingequation, an iterative method will be used. It will be appreciated thatthe iterative method enables someone skilled in the art to find out thealgebraic coefficients in an n-dimension space. It will also beappreciated that the method described below is the preferred method; askilled person in the art will be able to find other variants.

[0257] Now referring to FIG. 32, there is shown how the general equationis created.

[0258] According to step 230, the algebraic equation is provided. Thealgebraic equation depends on x₀,x₁,x₂,x₃. Now referring to FIGS. 34aand 34 b, there are shown the algebraic equations of a quadric and aquartic. According to step 232, each component of the polar plane iscomputed. A component of the polar plane is computed by deriving thealgebraic equation with respect to the variable of the component. Forinstance, the x₀ component of the polar plane is equal to the derivativeof the algebraic equation with respect to x₀.

[0259] According to step 234, the condition of polarity is expressed.More precisely, it is expressed that:

F _(x) ₀ ·z ₀ +F _(x) ₁ ·z ₁ +F _(x) ₂ ·z ₂ +F _(x) ₃ ·z ₃=0  (Eq. 0)

[0260] where F_(x) ₀ , F_(x) ₁ , F_(x) ₂ , F_(x) ₃ are the components ofthe polar plane with respect to x₀,x,x₂,x₃ and z₀,z₁,z₂,z₃ are thecoordinates of a polar point.

[0261] According to step 236, a change of variable is performed. Thechange of variable is performed using the λ,μ and the ρ,σ.

[0262] More precisely, the change of variable performed is:

[0263] x₀=μ·π₀

[0264] x₁=μ·π₁

[0265] x₂=λ·π₂

[0266] x₃=λ·π₃

[0267] z₀=ρ·π₀

[0268] z₁=ρ·π₁

[0269] z₂=σ·π₂

[0270] z₃=σ·π₃

[0271] Eq. 0 with the change of variable performed in step 236 nowdepends on π,λ, ρ,σ and π₀, π₁, π₂, π₃. The new equation may be usedwith any control points, located on any line, in any section. The newequation offers a universal tool to provide a correspondence between thealgebraic coefficients and the geometric information provided by thecontrol points.

[0272] According to step 238, the general equation obtained is provided.

[0273] However, as explained below, a special solving scheme will beused to determine the coefficients using this general equation appliedto each control point.

[0274] Someone skilled in the art could propose to simply solve theequation system created by applying the general equation to each controlpoint and inverting the equation system created. However, this invertingoperation would be too time-consuming, furthermore, the operation wouldbe impossible for high-order system and finally, a singularity wouldmake the operation impossible. There is therefore a need for aniterative approach to solve the equation system.

[0275] Pursuant the duty to disclose the preferred embodiment, FIG. 33will provide the mechanism used to solve the equation provided in step238.

[0276] According to step 240, the general equation is provided.

[0277] According to step 242, a section is selected; in the preferredembodiment, the section selected is chosen according a scheme describedpreviously. By selecting a section, the value of π₂ and π₃ are set.

[0278] According to step 244, a line is selected; in the preferredembodiment the line selected is chosen in the section selected accordingto a scheme described previously. By selecting a line, the value of π₀and π₁ are set.

[0279] According to step 246, a non-polar point and its related polarpoint are selected on the selected line of the selected section.According to step 248, the non-polar point and its related polar pointselected are inputted in the general equation provided. By selecting anon-polar point and its related polar point, the values of λ,μ and ρ,σare set.

[0280] According to step 248, the information provided by the selectedpair of point is used to compute the coefficients.

[0281] More precisely, the general equation is used with the values ofλ,μ and ρ,σ and a system of equations is generated at the line level. Itwill be appreciated that for each section, π₂ and π₃ are fixed.Therefore, a factorization by π₂ and π₃ or any linear combination of π₂and π₃ is performed in each equation of the equation systems generatedin the same section. A factorization by the algebraic coefficients aswell as their linear combination is also performed. This leads tosecondary equation systems where the unknown variables are nowpolynomials which are depending on the linear combination of thecoefficients instead of the primary equation systems which are dependingon the coefficients. These secondary equation systems are then solvedusing Kramer solving schemes, in the preferred embodiment, allowing theprimary equation systems to be solved.

[0282] It will be appreciated that each time an equation system issolved, the equation system being a primary or a secondary type, theresulting solution is provided with a new unknown variable which is anhomogeneous factor. An homogeneous factor will be solved at the end ofthe solving process and this will allow to find recurrently eachhomogeneous factor introduced during the solving process.

[0283] When the primary type and the secondary type equation systems arecreated, a check is performed in order to find out if a factorization bya known polynomial which depends on λ,μ and ρ,σ is possible. A knownpolynomial is a polynomial which would represent a particular geometricconfiguration; such particular configuration could be a configurationwhere two control points are located in the same physical location(meaning λ₁=λ₂, μ₁=λ₂). In the last mentioned case, the polynomial wouldbe λ₁·λ₂−λ₂·μ₁. In the case of the quartic, the particular geometricconfigurations searched are the cases of a double point, the case of adouble double point and the case of a triple point. If such polynomialsare detected, a division by these polynomials is performed in thedeterminant in order to avoid these particular cases that would make thesolving scheme fail as the determinant would be equal to zero. It istherefore important to be cautious at this level. In the case of thedetection of a singularity, a new equation for the coefficient will beprovided.

[0284] More precisely, there is shown in FIG. 71 a determinant for whicha solving scheme is performed in the case where at least two points arelocated at the same place.

[0285] As shown in FIG. 70, it is possible to expand a determinant byany row or column. Such expansion is explained page 373 of the SeventhEdition of Advanced Engineering Mathematics by Erwin Kreyszig, which isenclosed by reference.

[0286] Now referring to FIG. 71, there is shown an expansion into a sumof minors of a determinant to solve.

[0287] In case of a degeneracy, identical rows and thereforecomplementary minors will vanish.

[0288] Preferably a decomposition of the determinant will be performedto provide minors in case of a multiplicity m.

[0289] In the case, for instance, of a multiplicity of 2, where λ₃=k·λ₂,μ₃=k·λ₂, there is shown in FIG. 72 a decomposition of the determinantshown in FIG. 71 into minors having a size of 2. If λ₃=k·λ₂,μ₃=k·μ₂ aresubstituted in some minors shown in FIG. 72, it will be appreciated thatσ₃·ρ₂−σ₂·ρ₃ will be a common vanishing factor of these minors. Thedeterminant will be then computed using the other minors.

[0290] In the case of two other double points, the method disclosedabove will be applied to the other two identical rows in order toextract a common vanishing factor.

[0291] Now referring to FIG. 73, there is shown a decomposition of thedeterminant, shown in FIG. 71, into minors having a size of 3. Suchdecomposition is performed in the case where three points are placed atthe same location. For instance, if λ₃=k·λ₂,μ₃=k·μ₂,λ₃=l·λ₂,μ₃=l·μ₂, theminors shown in FIG. 73 will have (λ₂·μ₁λ₁·μ₂), (σ₂·ρ₁−σ₁·σ₂) as acommon vanishing factors. By eliminating such vanishing factors from theminors shown in FIG. 73, it is possible to compute each coefficientassociated with x₁,x₂,x₃,x₄.

[0292] Now referring to FIG. 74, there is shown a decomposition of thedeterminant shown in FIG. 71 into minors having a size of 4. Suchdecomposition is performed in the case of quadruple points, i.e. whenfour points are placed at the same location. By eliminating commonvanishing factors from the minors shown in FIG. 74, it is possible tocompute each coefficient associated with x₁,x₂,x₃,x₄.

[0293] According to step 250, a check is performed in order to find outif other control points are available on the selected line of theselected section.

[0294] According to step 252, a check is performed in order to find outif another line is available on the selected section.

[0295] According to step 254, a check is performed in order to find outif another section is available. If no other section is available, thecoefficients computed are provided.

[0296] Determination of the Coefficients of a Quartic According to thePreferred Embodiment of the Invention

[0297] It will be appreciated by someone skilled in the art that thisembodiment shows an example for determining the coefficients of aquartic according to the invention.

[0298] As explained above and in the preferred embodiment of theinvention, a quartic is defined by 5 sections. The 5 sections definingthe quartic are shown on FIG. 35.

[0299]FIG. 36 shows 15 linesl_(a),l_(b),l_(c),l_(d),l_(e),l_(f),l_(g),l_(h),l_(i),l_(j),l_(k),l_(l),_(m),l_(n),l_(o).

[0300] The first section comprises 5 linesl_(a),l_(b),l_(c),l_(d),l_(e), selected in the first section, as shownin FIG. 37. The first line of the first section comprises 4 polar pointsand its related 4 non-polar points. The second line of the first sectioncomprises 4 polar points and its related 4 non-polar points. The thirdline of the first section comprises 3 polar points and its related 3non-polar points. The fourth line of the first section comprises 2 polarpoints and its related 2 non-polar points. The fifth line of the firstsection comprises 1 polar point and its related 1 non-polar point.

[0301] The second section comprises 4 lines, l_(f),l_(g),l_(h),l_(i),selected in the second section, as shown in FIG. 38. The first line ofthe second section comprises 4 polar points and its related 4 non-polarpoints. The second line of the second section comprises 3 polar pointsand its related 3 non-polar points.

[0302] The third line of the second section comprises 2 polar points andits related 2 non-polar points. The fourth line of the second sectioncomprises 1 polar point and its related non-polar point.

[0303] The third section comprises 3 lines, l_(j),l_(k),l_(l), selectedin the third section, as shown in FIG. 39. The first line of the thirdsection comprises 3 polar points and its related 3 non-polar points. Thesecond line of the third section comprises 2 polar points and itsrelated 2 non-polar points. The third line of the third sectioncomprises 1 polar point and its related non-polar point.

[0304] The fourth section comprises 2 lines, l_(m),l_(n), selected inthe fourth section, as shown in FIG. 40. The first line of the fourthsection comprises 2 polar points and its related 2 non-polar points. Thesecond line of the fourth section comprises 1 polar point and itsrelated non-polar point.

[0305] The fifth section comprises 1 line, l_(o), selected in the fifthsection, as shown in FIG. 41. The line of the fifth section comprises 1polar point and its related non-polar point.

[0306] According to step 230 of FIG. 32, the general equation of aquartic is provided.z4 := z434x2x3³ + z43x0²x1² + z49x1³x2 + z414x1x2³ + z416x0³x3 + z431x2²x3² + z419x1³x3 + z413x0x2³ + z412x1²x2² + z410x0²x2² + z46x0³x2 + z428x1²x3² + z432x0x3³ + z44x0x1³ + z415x2⁴ + z433x1x3³ + z42x0³x1 + z426x0²x3² + z425x2³x3 + z41x0⁴ + z435x3⁴ + z47x0²x1x2 + z45x1⁴ + z48x0x1²x2 + z411x0x1x2² + z417x0²x1x3 + z418x0x1²x3 + z420x0²x2x3 + z422x1²x2x3 + z423x0x2²x3 + z424x1x2²x3 + z427x0x1x3² + z429x0x2x3² + z430x1x2x3² + z421x0x1x2x3

[0307] According to step 232, the expression of the polar plane iscomputed, the expression of the polar plane is computed using thegeneral equation of a quartic as explained above.

[0308] According to step 234, the polarity condition is expressed. Thepolarity expression is expressed as explained above.

[0309] According to step 236, the change of variable is performed usingλ,μ and ρ,σ.

[0310] According to step 238 of FIG. 32, the expression of the polarplane for the quartic is computed. The resulting expression for thepolar plane is:

4αt ₀ +βt ₁+2γt ₂ +δt ₃+4εt ₄=0

[0311] where:

[0312] α=ρλ³;

[0313] β=λ²(λσ+3μρ);

[0314] γ=λμ(λσ+μρ);

[0315] δ=μ²(3λσ+μρ);

[0316] ε=σμ³;

[0317] t₀=₄₃₅π₃ ⁴+z₄₃₄π₃ ³π₂+₄₃₁π₃ ²π₂ ²+z₄₂₅π₃π₂ ³+₄₁₅π₂ ⁴;$\begin{matrix}{{t_{1} = {{\left( {{z_{433}\pi_{3}^{3}} + {z_{430}\pi_{3}^{2}\pi_{2}} + {z_{424}\pi_{3}\pi_{2}^{2}} + {z_{414}\pi_{2}^{3}}} \right)\pi_{1}} +}};} \\{\left( {{z_{432}\pi_{3}^{3}} + {z_{429}\pi_{3}^{2}\pi_{2}} + {z_{423}\pi_{3}\pi_{2}^{2}} + {z_{413}\pi_{2}^{3}}} \right)\pi_{0}} \\{{t_{2} = {{\left( {{z_{428}\pi_{3}^{2}} + {z_{422}\pi_{3}\pi_{2}} + {z_{412}\pi_{2}^{2}}} \right)\pi_{1}^{2}} +}}} \\{{{\left( {{z_{427}\pi_{3}^{2}} + {z_{421}\pi_{3}\pi_{2}} + {z_{411}\pi_{2}^{2}}} \right)\pi_{0}\pi_{1}} +};} \\{\left( {{z_{426}\pi_{3}^{2}} + {z_{420}\pi_{3}\pi_{2}} + {z_{410}\pi_{2}^{2}}} \right)\pi_{0}^{2}} \\{{t_{3} = {{\left( {{z_{419}\pi_{3}} + {z_{49}\pi_{2}}} \right)\pi_{1}^{3}} + {\left( {{z_{418}\pi_{3}} + {z_{48}\pi_{2}}} \right)\pi_{1}^{2}\pi_{0}} +}};{and}} \\{{\left( {{z_{417}\pi_{3}} + {z_{47}\pi_{2}}} \right)\pi_{1}\pi_{0}^{2}} + {\left( {{z_{416}\pi_{3}} + {z_{46}\pi_{2}}} \right)\pi_{0}^{3}}} \\{t_{4} = {{z_{45}\pi_{1}^{4}} + {z_{44}\pi_{1}^{3}\pi_{0}} + {z_{43}\pi_{1}^{2}\pi_{0}^{2}} + {z_{42}\pi_{1}\pi_{0}^{3}} + {z_{41}{\pi_{0}^{4}.}}}}\end{matrix}$

[0318] In the preferred embodiment of the invention, ψ_(i)i=0 . . . 14are defined as:

[0319] ψ₀=z₄₃₅π₃ ⁴+z₄₃₄π₃ ³π₂z₄₃₁π₃ ²π₂ ²+z₄₂₅π₃π₂ ³+z₄₁₅π₂ ⁴;

[0320] ψ₁=z₄₃₃π₃ ³+z₄₃₀π₃ ²π₂+z₄₂₄π₃π₂ ²+z₄₁₄ π₂ ³;

[0321] ψ₂=z₄₃₂π₃ ³+z₄₂₉π₃ ²π₂+a₄₂₃π₃π₂ ²+a₄₁₃π₂ ³;

[0322] ψ₃=z₄₂₉π₃ ²+a₄₂₂π₃π₂z₄₁₂π₂ ²;

[0323] ψ₄=z₄₂₇π₃ ²+z₄₂₁π₃π₂+z₄₁₁π₂ ²;

[0324] ψ₅=z₄₂₆π₃ ²+z₄₂₀ 90 ₃π₂+z₄₁₀π₂ ²;

[0325] ψ₆=z₄₁₉π₃+z₄₉π₂;

[0326] ψ₇+z₄₁₈π₃+z₄₈π₂;

[0327] ψ₈=z₄₁₇π₃+z₄₇π₂;

[0328] ψ₉=z₄₁₆π₃+z₄₆π₂;

[0329] ψ₁₀=z₄₅;

[0330] ψ₁₁=z₄₄;

[0331] ψ₁₂=z₄₃;

[0332] ψ₁₃z₄₂; and

[0333] ψ₁₄=z₄₁;

[0334] Someone skilled in the art will appreciate that ψ_(i), i=0 . . .14 characterize a selected section as they are depending only on π₂ andπ₃; which are fixed for the selected section while t_(i), i=0 . . . 4characterize the lines for a specific section as they are depending onlyon π₀ and π₁.

[0335] The ψ_(i), i=0 . . . 14 are related to the t_(i), i=0 . . . 4 asfollows.

[0336] t₀=ψ₀;

[0337] t₁=ψ₁π₁+ψ₂π₀;

[0338] t₂=ψ₃π₁ ²+ψ₄π₀π₁+ψ₅π₀ ²;

[0339] t₃=ψ₆π₁ ³+ψ₇π₁ ²π₀+ψ₈π₁π₀ ²+ψ₉π₀ ³; and

[0340] t₄=ψ₁₀π₀ ⁴+ψ₁₁π₁ ³π₀+ψ₁₂π₁ ²π₀ ²+ψ₁₃π₁π₀ ³+ψ₁₄π₀ ⁴.

[0341] In the following, ψ_(i) ^(j) will refer to ψ_(i) of section J;t_(ia) will refer to t_(i) of line a.

[0342] According to step 242 of FIG. 33, a section is selected. In thepreferred embodiment of the invention, the first section is selected.

[0343] First Line (Line a) of the First Section

[0344] According to step 244 of FIG. 33, a line is selected. In thepreferred embodiment of the invention, the first line of the firstsection ([a₀:a₁:0:0]) is selected.

[0345] According to steps 246, a pair of point is selected. By applyingthe equation 4αt₀+βt₁+2γt₂+δt₃+4εt₄=0 to all the polar points and thenon-polar points of the first line of the first section, a system ofequations, Eq. 1, is generated having t_(i), i=0 . . . 4 as unknown.

[0346] A line of cofactors x₀,x₁,x₂,x₃,x₄ associated respectively toeach element of the added row in the system of equations Eq.1 is addedto generate system of equations Eq. 2.

[0347] The system of equations Eq. 2 is shown in FIG. 42.

[0348] From the system of equations Eq. 2, t_(ia), i=0 . . . 4 areexpressed as a function of ψ_(i) ^(I), i=0 . . . 14.

[0349] It is therefore possible to provide ψ₀ ^(I) and equationssatisfied by ψ_(i) ^(I), i=1 . . . 14.

[0350] Second Line (Line b) of the First Section

[0351] According to step 244 of FIG. 33, the second line of the firstsection is selected.

[0352] According to steps 246, a pair of points is selected. By applyingthe equation 4αt₀+βt₁+2γt₂+δt₃4εt₄=0 to all the polar points and thenon-polar points of the second line of the first section, a system ofequations, Eq. 3, is generated having t_(ib), i=0 . . . 4 as unknown

[0353] A line of cofactors x₅,x₆,x₇,x₈,x₉ associated respectively toeach element of an added row in the system of equations Eq. 3 is addedto the system of equations.

[0354] The system of equations Eq. 3 is shown in FIG. 43.

[0355] From the system of equations Eq. 3, t_(ib), i=0 . . . 4 areexpressed as a function of ψ_(i) ^(I), i=0 . . . 14. Using expressionsof t_(1a) and t_(1b) system of equations Eq. 4 is generated.

[0356] A line of cofactors x₁₀,x₁₁,x₁₂ associated respectively to eachelement of an added row in the system of equations Eq. 4 is added togenerate system of equations Eq. 5. System of equations Eq. 5 is shownin FIG. 44.

[0357] Using the system of equations Eq. 5, it is possible to provide ψ₁^(I) and ψ₂ ^(I).

[0358] Third Line (Line C) of the First Section

[0359] According to step 244 of FIG. 33, the third line of the firstsection is selected.

[0360] According to steps 246, a pair of points is selected. By applyingthe equation 4αt₀+βt₁+2γt₂+δt₃+4εt₄=0 to all the polar points and thenon-polar points of the third line of the first section, a system ofequations, Eq. 6, is generated having t_(ic), i=0 . . . 4 as unknown.

[0361] By substituting t_(ic), i=0, 1 by their computed value which isdependent on ψ_(i) ^(I), i=0 . . . 2, and by adding a line of cofactorsx₁₃,x₁₄,x₁₅,x₁₆ associated respectively to each element of an added rowin the system of equations, a system of equations Eq. 7 is created; thesystem of equations Eq. 7 is shown in FIG. 45. It is then possible toprovide an expression of t_(iC), i=2 . . . 4.

[0362] Using expression of t_(2i), i=a . . . c generated using the firstline, the second line and the third line of the first section, a systemof equations, Eq. 8, depending on ψ_(i) ^(I), i=3 . . . 5 is generated.In the preferred embodiment of the invention, a line of cofactorsx₁₇,x₁₈,x₁₉,x₂₀ is added to the system of equations Eq. 8; each cofactoris associated respectively to each element of an added row in the systemof equations Eq. 8.

[0363] The system of equations Eq 0.8 is shown in FIG. 46.

[0364] ψ_(i) ^(I), i=3 . . . 5 are provided by solving the system ofequations Eq. 8.

[0365] Fourth Line (Line d) of the First Section

[0366] According to step 244 of FIG. 33, the fourth line of the firstsection is selected.

[0367] According to steps 246, a pair of points is selected. By applyingthe equation 4αt₀+βt₁+2γt₂+δt₃+4εt₄=0 to all the polar points and thenon-polar points of the fourth line of the first section, a system ofequations, Eq. 9, is generated having t_(ic), i=0 . . . 4 as unknown.

[0368] By substituting t_(id), i=0 . . . 2 by their computed valueswhich are depending on ψ_(i) ^(I), i=0 . . . 5, and by adding a line ofcofactors x₂₁,x₂₂,x₂₃ associated respectively to each element of anadded row in the system of equations Eq. 9, a system of equations Eq. 10is created. The system of equations Eq. 10 is shown in FIG. 47. It isthen possible to provide an expression of t_(id), i=3, 4 by solving thesystem of equations Eq. 10.

[0369] Using expression of t_(3i), i=a . . . d generated by the firstline, the second line, the third line and the fourth line of the firstsection, it is possible to generate a system of equations Eq. 11 withrespect to ψ_(i) ^(I), i=6 . . . 9.

[0370] In the preferred embodiment of the invention, a line of cofactorsx₂₄,x₂₅,x₂₆,x₂₇ x₂₈ is added to the system of equations Eq. 11; eachcofactor is associated respectively to each element of an added row inthe system of equations Eq. 11. The generated system of equations Eq. 11is shown in FIG. 48.

[0371] By solving the system of equations Eq. 11, it is possible tocompute ψ_(i) ^(I), i=6 . . . 9.

[0372] Fifth Line (Line e) of the First Section

[0373] According to step 244 of FIG. 33, the fifth line of the firstsection is selected.

[0374] According to steps 246, a pair of points is selected. By applyingthe equation 4αt₀+βt₁ +2γt ₂+δt₃+4εt₄=0 to the polar point and thenon-polar point of the fifth line of the first section, equation Eq. 12is generated.

[0375] Using ψ_(i) ^(I), i=0 . . . 9, generated by the first line, thesecond line, the third line and the fourth line of the first section, itis possible to introduce y_(i), i=3 . . . 5.

[0376] Substituting y_(i), i=3 . . . 5 in the equation4αt₀+βt₁+2γt₂+δt₃+4εt₄=0 applied to the fifth line and using expressionof t_(4i), i=a . . . d, it is possible to generate a system of equationsEq. 13 on ψ_(i) ^(I), i=0 . . . 9.

[0377] A line of cofactors x₂₉,x₃₀,x₃₁,x₃₂,x₃₃,x₃₄ associatedrespectively to each element of the added row is added to the system ofequations Eq. 13. Resulting system of equations Eq. 14 is shown in FIG.49.

[0378] Solving the system of equations Eq. 14 provides ψ_(i) ^(I), i=10. . . 14.

[0379] It will be therefore appreciated that now ψ_(i) ^(I), i=0 . . .14 are totally defined.

[0380] Someone skilled in the art will then appreciate that coefficientsz₄₅,z₄₆,z₄₇,z₄₈ are provided in the first section.

[0381] According to step 254 of FIG. 33, a new section is selected as noother line is available in the current section. In the preferredembodiment and as explained above the second section is selected afterhandling the first section.

[0382] First Line (Line f) of the Second Section

[0383] According to step 244 of FIG. 33, the first line of the secondsection is selected.

[0384] According to steps 246, a pair of points is selected. By applyingthe equation 4αt₀+βt₁+2γt₂+δt₃+4εt₄=0 to all the polar points and thenon-polar points of the first line of the second section, a system ofequations Eq. 15 is generated having t_(if), i=0 . . . 4 as unknown.t_(4f) is computed using results from the first section as will notesomeone skilled in the art.

[0385] y₆ is then defined.

[0386] A new system of equations Eq. 16 is therefore generated using thesystem of equations Eq. 15.

[0387] A line of cofactors x₃₅,x ₃₆,x₃₇,x₃₈,x₃₉ associated respectivelyto each element of the added row is added to the system of equations Eq.16. The resulting system of equations Eq. 17 is shown in FIG. 50.

[0388] By solving the system of equations Eq. 17 shown in FIG. 50, it ispossible to compute ψ₀ ^(II). Expressions of t_(if), i=1 . . . 3 arealso available.

[0389] Second Line (Line g) of the Second Section

[0390] According to step 244 of FIG. 33, the second line of the secondsection is selected.

[0391] According to steps 246, a pair of points is selected.

[0392] By applying the equation 4αt₀+βt₁+2γt₂+δt₃+4εt₄=0 to all thepolar points and the non-polar points of the second line of the secondsection, system of equations Eq. 18 is generated having t_(if), i=0 . .. 4 as unknown.

[0393] y₇ is introduced to provide t_(4g).

[0394] t_(0g) and t_(4g) are then substituted in the system of equationsEq. 18. A line of cofactors x₄₀,x₄₁,x₄₂,x₄₃ associated respectively toeach element of the added row is then added to the system of equationsEq. 18. A resulting system of equations Eq. 19 is shown in FIG. 51.

[0395] By solving the system of equations Eq. 19, shown in FIG. 51, itis possible to provide expressions of t_(ig), i=1 . . . 3.

[0396] Expressions of t_(1g) and t_(if) are used to create a new systemof equations Eq. 20. A line of cofactors x₄₄,x₄₅,x₄₆ associatedrespectively to each element of the added row is then added to thesystem of equations Eq. 20. Resulting system of equations Eq. 21 isshown in FIG. 52.

[0397] By solving the system of equations Eq. 21, it is possible tocompute ψ^(i) ^(II), i=1 . . . 2.

[0398] Third Line (Line h) of the Second Section

[0399] According to step 244 of FIG. 33, the third line of the secondsection is selected.

[0400] According to steps 246, a pair of points is selected.

[0401] By applying the equation 4αt₀+βt₁+2γt₂+δt₃+4εt₄=0 to all thepolar points and the non-polar points of the second line of the secondsection, system of equations Eq. 22 is generated having t_(ih), i=0 . .. 4 as unknown.

[0402] t_(ih), i=0,1 are computed using previously computed ψ_(i) ^(II),i=1,2. Using previous section computation, t_(4h) is computed. y₈ isintroduced using t_(4h). y₉ is also introduced.

[0403] y₈ and y₉ are then substituted in the system of equations Eq. 22.A line of cofactors x₄₇,x₄₈,x₄₉ associated respectively to each elementof the added row is then added to the system of equations Eq. 22.Resulting system of equations Eq. 23 is shown in FIG. 53.

[0404] An expression of t_(ih), i=2, 3 is then obtained.

[0405] A system of equations Eq. 23 is then generated using t_(2i), i=f,g, h. A line of cofactors x₅₀,x₅₁,x₅₂,x₅₃ associated respectively toeach element of the added row is then added to the system of equationsEq. 23. Resulting system of equations Eq. 24 is shown in FIG. 54.Solving the resulting system of equations Eq. 24 provides ψ_(i) ^(II),i=3 . . . 5.

[0406] Fourth Line (Line i) of the Second Section

[0407] According to step 244 of FIG. 33, the fourth line of the secondsection is selected.

[0408] According to steps 246, a pair of points is selected.

[0409] By applying the equation 4αt₀+βt₁+2γt₂+δt₃+4εt₄=0 to the polarpoint and the non-polar point of the fourth line of the second section,an equation Eq. 25 is generated.

[0410] y_(i), i=10 . . . 12 are introduced. ψ_(i) ^(II), i=0 . . . 2 arethen injected in the equation Eq. 25.

[0411] Expressions of t_(3i), i=f,g,h,i are then used to generate anequations system Eq. 26.

[0412] A line of cofactors x₅₄,x₅₅,x₅₆,x₅₇,x₅₈ associated respectivelyto each element of the added row is then added to the system ofequations Eq. 26. Resulting system of equations Eq. 27 is shown in FIG.55.

[0413] Solving the system of equations Eq. 27 provides ψ_(i) ^(II), i=6. . . 9.

[0414] ψ₆ ^(i), i=I, II are then used to generate a system of equationsEq. 28 having Z₄₁₉,z₄₉ as unknown. A line of cofactors x₅₉,x₆₀,x₆₁associated respectively to each element of the added row is then addedto the system of equations Eq. 28. Resulting system of equations Eq. 29is shown in FIG. 56A. Solving the system of equations Eq. 29 providesz₄₁₉,z₄₉.

[0415] ψ₇ ^(i), i=I, II are then used to generate a system of equationsEq. 30 having z₄₁₈,z₄₁₉ as unknown. A line of cofactors x₆₂,x₆₃,x₆₁associated respectively to each element of the added row is then addedto the system of equations Eq. 30. Resulting system of equations Eq. 31is shown in FIG. 56B. Solving the system of equations Eq. 31 providesz₄₁₈,z₄₈.

[0416] ψ₈ ^(i), i=I, II are then used to generate a system of equationsEq. 32 having z₄₁₇,z₄₇ as unknown. A line of cofactors x₆₄,x₆₅,x₆,associated respectively to each element of the added row is then addedto the system of equations Eq. 32. Resulting system of equations Eq. 33is shown in FIG. 56C. Solving the system of equations Eq. 33 providesz₄₁₇,z₄₇.

[0417] ψ₉ ^(i), i=I, II are then used to generate a system of equationsEq. 34 having z₄₁₆,z₄₆ as unknown. A line of cofactors x₆₆,x₆₇,x₆,associated respectively to each element of the added row is then addedto the system of equations Eq. 34. Resulting system of equations Eq. 35is shown in FIG. 56D. Solving the system of equations Eq. 35 providesz₄₁₆,z₄₆.

[0418] From previous equations of the second section, it is possible toprovide ψ_(i) ^(II), i=1 . . . 14.

[0419] According to step 254 of FIG. 33, a new section is selected as noother line is available in the current section. After the solving of thesecond section, the third section is selected.

[0420] First Line (Line j) of the Third Section

[0421] It will be appreciated by someone skilled in the art that ψ_(i)^(II), i=6 . . . 14 are known as they are depending on previouslycomputed coefficients.

[0422] According to step 244 of FIG. 33, the first line of the thirdsection is selected.

[0423] According to steps 246, a pair of points is selected.

[0424] t_(3j), t_(4j) are then computed and substituted in the equation4αt₀+βt₁+2γt₂+δt₃+4εt₄=0.

[0425] y_(i), i=13 . . . 16 are then introduced.

[0426] A system of equations, Eq. 36, is then generated using the polarpoints and the non-polar points of the first line of the third section.

[0427] A line of cofactors x₆₈,x₆₉,x₇₀,x₇₁ associated respectively toeach element of the added row is then added to the system of equationsEq. 36. Resulting system of equations is shown in FIG. 57.

[0428] Expressions of t_(ij), i=0 . . . 2 are then provided using theresulting system of equations.

[0429] Second Line (Line k) of the Third Section

[0430] According to step 244 of FIG. 33, the second line of the thirdsection is selected.

[0431] According to steps 246, a pair of points is selected.

[0432] The polar points and the non-polar points of the second line ofthe third section are then used with the equation4αt₀+βt₁+2γt₂+δt₃+4εt₄=0 to generate a system of equations Eq. 37.y_(i), i=17 . . . 20 are then introduced using t_(ik), i=0, 3, 4. A lineof cofactors x₇₂,x₇₃,x₇₄ associated respectively to each element of theadded row is then added to the system of equations Eq. 37. Resultingsystem of equations Eq. 38 is shown in FIG. 58.

[0433] Expressions of t_(ik), i=1 . . . 2 are then provided using systemof equations Eq. 38.

[0434] Using t_(1i), i=j, k, it is possible to generate a system ofequations Eq. 39 having as unknown ψ_(i) ^(III), i=1, 2. A line ofcofactors x₇₅,x₇₆,x₇₇ associated respectively to each element of theadded row is then added to the system of equations Eq. 39. Resultingsystem of equations Eq. 40 is shown in FIG. 59. Solving the system ofequations Eq. 40 provides ψ_(i) ^(III), i=1,2.

[0435] Third Line (Line l) of the Third Section

[0436] According to step 244 of FIG. 33, the third line of the thirdsection is selected.

[0437] According to steps 246, a pair of points is selected.

[0438] The polar point and the non-polar point of the third line of thethird section are then applied with the equation4αt₀+βt₁+2γt₂+δt₃+4εt₄=0.

[0439] t_(il), i=0 . . . 4 are then injected in the equation.

[0440] Using t_(2i), i=j, k and the equation, a system of equations Eq.41 is generated.

[0441] A line of cofactors x₇₈,x₇₉,x₈₀,x₈, associated respectively toeach element of the added row is then added to the system of equationsEq. 41. Resulting system of equations Eq. 42 is shown in FIG. 60.

[0442] Using the system of equations Eq. 42, it is possible to generateψ_(i) ^(III), i=3 . . . 5.

[0443] Using ψ₃ ^(i), i=I . . . III, it is possible to generate a systemof equations Eq. 43 which will be used to compute z₄₂₂,z₄₂₈,z₄₁₂. A lineof cofactors x₈₂, x₈₃,x₈₄,x₈₅ associated respectively to each element ofthe added row is then added to the system of equations Eq. 43. Resultingsystem of equations Eq. 44 is shown FIG. 61A. Solving the system ofequations Eq. 44 provides an expression of z₄₂₂,z₄₂₈,z₄₁₂.

[0444] Using ψ₄ ^(i), i=I . . . III, it is possible to generate a systemof equations Eq. 45 which will be used to compute z₄₂₇,z₄₂₁,z₄₁₁. A lineof cofactors x₈₆,x₈₇, x₈₈,x₈₅ associated respectively to each element ofthe added row is then added to the system of equations Eq. 45. Resultingsystem of equations Eq. 46 is shown FIG. 61B. Solving the system ofequations Eq. 46 provides an expression of z₄₂₇,z₄₂₁,z₄₁₁.

[0445] Using ψ₅ ^(i), i=I . . . III, it is possible to generate a systemof equations Eq. 47 which will be used to compute z₄₂₆,z₄₂₀,z₄₁₀. A lineof cofactors x₈₉,x₉₀,x₉₁,x₈₅ associated respectively to each element ofthe added row is then added to the system of equations Eq. 47. Resultingsystem of equations Eq. 48 is shown FIG. 61C. Solving the system ofequations Eq. 48 provides an expression of z₄₂₆,z₄₂₀,z₄₁₀.

[0446] According to step 254 of FIG. 33, a new section is selected as noother line is available in the current section. In the preferredembodiment and as explained above the fourth section is selected afterthe solving of the third section.

[0447] First Line (Line m) of the Fourth Section

[0448] It will be appreciated by someone skilled in the art that ψ_(i)^(IV), i=3 . . . 14 are known from previous computation.

[0449] According to step 244 of FIG. 33, the first line of the fourthsection is selected.

[0450] According to steps 246, a pair of points is selected.

[0451] The polar points and the non-polar points are then applied to theequation 4αt₀+βt₁+2γt₂+δt₃+4εt₄=0 to generate a system of equations Eq.49 having t_(im), i=0, 1 as unknown.

[0452] y_(i), i=33 . . . 35 are then introduced.

[0453] A line of cofactors x₉₂,x₉₃,x₉₄ associated respectively to eachelement of the added row is then added to the system of equations Eq.49. Resulting system of equations Eq. 50 is shown in FIG. 62.

[0454] Solving the system of equations Eq. 50 provides t_(im), i=0,1.

[0455] Second Line (Line n) of the Fourth Section

[0456] According to step 244 of FIG. 33, the second line of the fourthsection is selected.

[0457] According to steps 246, a pair of points is selected.

[0458] The polar point and the non-polar point of the second line of thefourth section are then applied to the equation 4αt₀+βt₁+2γt₂+δt₃+4εt₄=0to generate a new equation Eq. 51.

[0459] The new equation Eq. 51 is combined with a previous equationt_(2m) to provide a system of equations Eq. 52 having ψ_(i) ^(IV), i=1,2as unknown.

[0460] A line of cofactors x₉₅,x₉₆,x₉₇ associated respectively to eachelement of the added row is then added to the system of equations Eq 52.Resulting system of equations Eq. 53 is shown in FIG. 63.

[0461] An expression of ψ_(i) ^(IV), i=1,2 is provided using theresulting system of equations Eq. 53.

[0462] It is then possible using ψ₁ ^(i), i=I . . . IV and ψ₂ ^(i), j=I. . . IV to compute z₄₃₃,z₄₃₀,z₄₂₄,z₄₁₄,z₄₃₂,z₄₂₉,z₄₂₃,z₄₁₃.

[0463] A system of equations Eq. 54 is generated using ψ₁ ^(i), i=I . .. IV. A line of cofactors x₉₈,x₉₉,x₁₀₀,x₁₀₁,x₁₀₂ associated respectivelyto each element of the added row is then added to the system ofequations Eq. 54. Resulting system of equations Eq. 55 is shown in FIG.64A.

[0464] Solving the system of equations Eq. 55 providesz₄₃₃,z₄₃₀,z₄₂₄,z₄₁₄.

[0465] A system of equations Eq. 56 is generated using ψ₂ ^(i), j=I . .. IV. A line of cofactors x₁₀₃,x₁₀₄,x₁₀₅,x₁₀₆,x₁₀₇ associatedrespectively to each element of the added row is then added to thesystem of equations Eq. 56. Resulting system of equations Eq. 57 isshown in FIG. 64B.

[0466] Solving the system of equations Eq. 57 providesx₁₀₃,x₁₀₄,x₁₀₅,x₁₀₆,x₁₀₇,z₄₃₂,z₄₂₉,z₄₂₃,z₄₁₃.

[0467] According to step 254 of FIG. 33, a new section is selected as noother line is available in the current section. In the preferredembodiment and as explained above the fifth section is selected afterthe solving of the fourth section.

[0468] First Line (Line o) of the Fifth Section

[0469] It will be appreciated by someone skilled in the art that ψ_(i)^(V), i=1 . . . 14 are now known.

[0470] According to steps 246, a pair of points is selected.

[0471] The polar point and the non-polar point are then applied to theequation 4αt₀+βt₁+2γt₂+δt₃+4εt₄=0 to generate a new equation Eq. 58.

[0472] y_(i), i=48 . . . 51 are now introduced.

[0473] Using expression of t_(o0) and ψ₀ ^(i), i=I . . . IV, it ispossible to generate a system of equations Eq. 59 havingz₄₃₅,z₄₃₄,z₄₃₁,z₄₂₅,z₄₁₅ as unknown. A line of cofactorsx₁₀₇,x₁₀₈,x₁₀₉,x₁₁₀,x₁₁₁,x₁₁₂ associated respectively to each element ofthe added row is then added to the system of equations Eq. 59. Resultingequation Eq. 60 system is shown in FIG. 65.

[0474] Solving this system of equations provides an expression ofz₄₃₅,z₄₃₄,z₄₃₁,z₄₂₅,z₄₁₅.

[0475] Someone skilled in the art will now appreciate that all thecoefficients of the quartic are now determined.

[0476] Polarity Relation

[0477] It will be appreciated that the condition of polarity expressedby the equation 0 may be alternatively expressed.

[0478] As explained previously, the algebraic expression depends onx₀,x₁,x₂,x₃ i.e. F(x₀,x₁,x₂,x₃)=0. It will be appreciated that it ispossible to obtain a Taylor expansion of the algebraic surface about afirst point Y by first computing F(λY+μZ), where Z is another point andthen performing a factorization by λ^(n−1)·μ^(i) (i=0, . . . , n) in theresulting equation. R=λY+μZ is defined as a non-polar point.

[0479] The Taylor expansion of the algebraic surface about the firstpoint Y is${F\left( {{\lambda Y} + {\mu Z}} \right)} = {\sum\limits_{i = 0}^{i = n}\quad {\frac{1}{i!}\lambda^{n - i}\mu^{i}\Delta_{z}^{i}{F(Y)}}}$then:${\Delta_{Z}^{i}{F(Y)}} = {\sum\limits_{{l + m + n + k}+=i}\quad {\frac{i!}{{l!}{m!}{n!}{k!}}z_{0}^{l}z_{1}^{m}z_{2}^{n}z_{3}^{k}{\frac{\partial^{i}{F(Y)}}{{\partial x_{0}^{l}}{\partial x_{1}^{m}}{\partial x_{2}^{n}}{\partial x_{3}^{k}}}.}}}$

[0480] A polar point may be defined by C=ρY+σZ.

[0481] By substituting Y by R and Z by C in the latter equation, Δ^(p)_(C)F(R) can be determined. By identifying Δ^(p) _(C)F(R) as${\sum\limits_{i = 0}^{n}\quad {\alpha_{n,i}^{P}t_{i}}},$

[0482] where ${t_{i} = {\frac{1}{i!}\Delta_{Z}^{i}{F(Y)}}},$

[0483] it is possible to provide α^(p) _(n,i), where p is the order tothe polarity. It is then possible to create a relationship between apolar point and a non-polar point.

[0484] Now referring to FIG. 66, there is shown a α^(p) _(n,1), α^(p)_(n,2), α^(p) _(n,3), α^(p) _(n,4) for z^(p) _(n), which denotes theequation characterizing a straight line for the polarity of order p.Someone skilled in the art will appreciate therefore many expressions ofpolarity may be used. Now referring to FIG. 67, there is shown a view ofa polar surface of degree 1. More precisely, a quartic is shown togetherwith a polar point, located on the polar surface and a non-polar point.

[0485] Now referring to FIG. 68, there is shown a view of a polar planeof degree 2. More precisely, a quartic is shown together with two polarpoints, located on the polar plane of degree 2 and a non-polar point.

[0486] Now referring to FIG. 69, there is shown a view of a polar planeof degree 3. More precisely, a quartic is shown together with threepolar points, located on the polar plane of degree 3 and a non-polarpoint.

[0487] Deformation of an Existing Surface

[0488] In another embodiment, the invention is used to operate adeformation of an existing object by an operator. The object is alreadycreated using the invention or not.

[0489] According to a first step, an operator selects a degree of a formrepresentative of the object or of one part of interest of the object.In accordance with the degree chosen, a number of control points have tobe placed, as explained above, for defining the form representing theobject or one part of interest of the object.

[0490] According to a second step, the operator provides a referencesimplex. The reference simplex is placed at a desirable location,depending on the type of deformation, the operator wishes to create onthe object.

[0491] According to a third step, the operator places at least one ofthe control points at a desirable location, depending on the type ofdeformation, the operator wishes to create.

[0492] According to a fourth step, the operator performs the deformationof the form created using the control points.

[0493] In an alternative embodiment, the operator performs directly thedeformation on the object by placing the reference simplex at adesirable location and the control points of the object, and bymanipulating at least one of the control points in accordance with thedeformation desired.

What is claimed is:
 1. A method for generating an m-degree form usingalgebraic coefficients of an equation defining the m-degree form in ann-dimension space using a plurality of points defining the form, themethod comprising the steps of: providing a framework, comprising morethan one geometric surface, each of the more than one geometric surfacecomprising at least one line, each of the at least one line comprisingat least one point of the plurality of points; providing a solvingequation using the equation defining the m-degree form, the solvingequation depending on at least three points; for each of the pluralityof points, generating a corresponding equation by applying the solvingequation to each of the plurality of points and two points located onone of the more than one geometric surface, the two selected pointsdefining the line of the framework where each of the plurality of pointsis; resolving the generated corresponding equations in an iterativemanner to provide the algebraic coefficients of the m-degree form; theiterative manner consisting in handling the generated equation usingeach of the plurality of points in a certain order, the certain orderconsisting in selecting the generated corresponding equationcorresponding to a point located on the line having the highest numberof points on it and the line located in the at least one geometricsurface of the framework where there is the highest number of lines onit; generating the m-degree form using the provided algebraiccoefficients of the m-degree form.
 2. The method as claimed in claim 1,wherein a point may be a polar point or a non-polar point, the solvingequation being generated using the equation defining the m-degree formand a polarity relation, the solving equation depending on four points,two of the four points being a polar and its related non-polar point,the two other points of the four points defining the line of theframework where the polar point and its related non-polar point are. 3.The method as claimed in claim 1, wherein the more than one geometricsurface is a plane.
 4. The method as claimed in claim 1, wherein then-dimension space is a projective space.
 5. The method as claimed inclaim 1, wherein the geometric space is an (n+1)-dimension euclidianspace.
 6. The method as claimed in claim 1, further comprising the stepof storing the algebraic coefficients of the m-degree form with anidentifier.
 7. The method as claimed in claim 4, wherein the projectivespace is a 4-dimension space.
 8. The method as claimed in claim 1,wherein the generating of the m-degree form using the provided algebraiccoefficients of the m-degree form is performed using a raytracingtechnique.
 9. An apparatus for generating a m-degree form usingalgebraic coefficients of an equation defining the m-degree form in ann-dimension space using a plurality of points defining the form, theapparatus comprising: an object memory, comprising more than onegeometric surface, each of the more than one geometric surfacecomprising at least one line, each of the at least one line comprisingat least one point of the plurality of points; a control point toalgebraic coefficient converter unit receiving each of the plurality ofpoints and a solving equation defined using the equation defining them-degree form and depending on at least three points, the control pointto algebraic converter unit generating a corresponding equation byapplying the solving equation to each of the plurality of points and twopoints located on one of the more than one geometric surface, the twoselected points defining the line of the framework where each of theplurality of points is and resolving the generated correspondingequations in an iterative manner to provide the algebraic coefficientsof the m-degree form; the iterative manner consisting in handling thegenerated equation using each of the plurality of points in a certainorder, the certain order consisting in selecting the generatedcorresponding equation corresponding to a point located on the linehaving the highest number of points on it and the line located in the atleast one geometric surface of the framework where there is the highestnumber of lines on it; and an outputting unit, receiving the providedalgebraic coefficients of the m-degree form and generating the m-degreeform.
 10. The apparatus as claimed in claim 9, wherein the outputtingunit comprises a raytracer unit, the raytracer unit further receiving apoint of view signal.
 11. A method for monitoring a deformation of anm-degree form using algebraic coefficients of an equation defining them-degree form in an n-dimension space using a plurality of pointsdefining the form, the method comprising the steps of: providing aframework in accordance with a modification of a form planned, theframework comprising more than one geometric surface, each of the morethan one geometric surface comprising at least one line, each of the atleast one line comprising at least one point of the plurality of points;modifying at least one part of the provided framework in accordance withthe modification of the form planned; providing a solving equation usingthe equation defining the m-degree form, the solving equation dependingon at least three points; for each of the plurality of points,generating a corresponding equation by applying the solving equation toeach of the plurality of points and two points located on one of themore than one geometric surface, the two selected points defining theline of the framework where each of the plurality of points is;resolving the generated corresponding equations in an iterative mannerto provide the algebraic coefficients of the m-degree modified form; theiterative manner consisting in handling the generated equation usingeach of the plurality of points in a certain order, the certain orderconsisting in selecting the generated corresponding equationcorresponding to a point located on the line having the highest numberof points on it and the line located in the at least one geometricsurface of the framework where there is the highest number of lines onit; outputting the algebraic coefficients of the modified form.
 12. Themethod as claimed in claim 11, further comprising the step of generatingthe modified m-degree form using the outputted algebraic coefficients ofthe modified m-degree form.